User plane location services over session initiation protocol (SIP)

ABSTRACT

A method and mechanism to allow a location server to initiate a user plane location service (e.g., SUPL defined by OMA) procedure to a user plane enabled device via Instant Messaging, or alternatively, via an existing SIP session if a multimedia session is already established. The location request is signaled to the user plane enabled device via a SIP INFO message. The location request uses SIP messaging to overcome firewall and other network security issues. Location using SUPL over SIP may be provided about a caller making an E911 emergency call. An Instant Message may be sent to the user plane enabled device, e.g., a VoIP wireless phone.

The present application claims priority from U.S. Provisional Application No. 60/861,267, entitled “User Plane Location Service over Session Initiation Protocol (SIP)”, filed Nov. 28, 2006, the entirety of which is expressly incorporated herein by reference.

BACKGROUND OF THE INVENTION

1. Field of the Invention

This invention relates generally to wireless and long distance carriers, Internet Service Providers (ISPs), and information content delivery services/providers and long distance carriers. More particularly, it relates to location services for the wireless industry.

2. Background of Related Art

Location information regarding subscribers or subscribers' individual devices is becoming increasingly available in a wireless network. Location information relates to absolute coordinates of a wireless device.

FIG. 4 shows a conventional LoCation Services (LCS) request.

In particular, as shown in FIG. 4, a location server 106 requests location information regarding a particular mobile subscriber (MS) from a core network node, e.g., from a Mobile Switch Center (MSC) 110. Requested information regarding a particular wireless device (MS) may include, e.g., attach, detach, and location area update. The location server 106 may also request information regarding the wireless device such as attach, detach and/or location area update from a Packet Data Node (e.g., SGSN, GGSN, or PDSN), or help the device calculate x/y (lat/lon) direction. Typically, location information regarding a particular wireless device is requested of a location server.

As shown in step 1 of FIG. 4, a location services client 104 sends a message to a location server 106.

In step 2, the location server 106 sends a Provide Subscriber Info message to a Home Location Register 108, requesting subscriber information regarding a particular subscriber.

In step 3, the carrier's Home Location. Register (HLR) 108 provides the subscriber information for the requested subscriber back to the location server 106.

In step 4, location information regarding the requested subscriber is requested to either an MSC or Packet Data node 110. The Radio Access Network (RAN), via the MSC or Packet Data Node, preferably provides precise location information using, e.g., a satellite-based global positioning system (e.g., GPS), triangulation techniques, or other relevant locating technology, or optionally helps the device calculate X/Y (lat/lon) direction.

In step 5, the location request is forwarded to the Radio Access Network (RAN) 112 if needed.

In step 6, precise, updated location information regarding the requested subscriber is sent to the location server (LS) 106.

In step 7, an ultimate response to the original location request is sent to the LCS client 104 that initially requested the location information.

Secure User Plane for Location (SUPL) is a standards-based protocol that has been developed to allow a mobile handset client to communicate with a location server, e.g., as shown in step 1 of FIG. 4. The SUPL specification is defined by the Open Mobile Alliance (OMA) standards working group. Refer to OMA Secure User Plane Location Architecture document, OMA-AD-SUPL-V1_(—)0-20060127-C for more details on OMA SUPL call flows; and OMA User Plane Location Protocol document, OMA-TS-ULP-V1_(—)0-20060127-C. The OMA SUPL Version 1 specifies two basic types of call flows: (1) a SUPL network initiated (NI) call flow, and (2) a SUPL set initiated (SI) call flow. According to the SUPL standard, a session ID has a unique value consisting of server and handset portions.

FIG. 5 shows typical OMA mobile terminated call flow for a SUPL location request initiated by a SUPL agent.

In particular, as shown in FIG. 5, messages are passed between a SUPL agent 802 residing in the network, a satellite information reference server 804, a SUPL server 806, a push proxy gateway (PPG) 808, and a SUPL terminal (SET) 812.

The SUPL server (or SUPL location platform (SLP)) 806 comprises a SUPL location center (SLC) and SUPL positioning center (SPC). A mobile device is generalized in FIG. 5 as a SUPL enabled terminal (SET) 812. The SLC coordinates operations of SUPL communications in the network, and controls the SPC component. The SPC Provides global positioning system (GPS) assistance data to the SUPL enabled terminal (SET) 812, and may perform precise position calculation of a SET 812.

Network initiated location requests 820 arrive at the SUPL server 806 via an MLP interface. The SUPL server 806 processing this network initiated request is required to send a trigger message (SUPL INIT message) 822, via the PPG 808, to the SET 812 for validating and ultimately initiating a SUPL positioning session 828. The trigger message 822 is sent to the SET 812 as a push message 824 from the PPG 808 (or as an SMS message from an SMSC/MC). At that point, the SET 812 establishes a secure TCP/IP connection 828 to the SUPL server 806 to respond to the SUPL positioning request.

For network initiated end-to-end IP based location services, when a location server needs to find out contact information (e.g. an IP address) of a given target, the location server sends a trigger to the target to allow the target to establish a session with the location server. Conventional IP based user plane location services (e.g., OMA SUPL) are built upon WAP Push/SMS messaging and TCP as a transport protocol for initiating a mobile terminating positioning procedure.

It is the case that there are some scenarios where conventional use of User Plane Location Services does not work well or does not work at all.

For example, one scenario in which a target device (e.g., SET) has Internet access via, e.g. WLAN, LAN, or DSL, it may not be possible for the location server to initiate location by use of an SMS message, or WAP Push. This is particularly true if the location server cannot determine the IP address of the target device, and the network to which the target device attaches does not support correct inter-working with SMS or WAP Push messaging.

A second example relates to Voice over IP (VoIP) based emergency calling (there are some variances in the wireless industry, e.g., IMS emergency in the 3GPP standard and MMD emergency in the 3GPP2 standard, and referred to generally as a SIP call by the IETF.) This scenario depicts an emergency call which has already established a SIP session with the serving network. During the emergency call, the appropriate Public Safety Answering Point (PSAP) may require updated location information relating to the emergency caller.

The present inventors appreciate that the existing mechanism of using WAP Push/SMS messaging may not be efficient and reliable, as WAP Push/SMS messaging is built upon store-and-forward mechanisms. In other words, there is no guarantee that the trigger of a location service request will be delivered to a target before the emergency call ends.

SUMMARY OF THE INVENTION

The present invention introduces a method and a mechanism that allows a location server to initiate a user plane location service (e.g., SUPL) procedure to a user plane enabled device via Instant Messaging, or alternatively, via an existing SIP session if a multimedia session is already established.

In accordance with one aspect of the invention, a method and apparatus for obtaining a location of a caller comprises initiating a user plane location service procedure. If a session initiation protocol (SIP) session already exists, a location request is signaled to a user plane enabled caller device via session initiation protocol (SIP).

A method and apparatus for obtaining a location of a caller in accordance with another aspect of the invention comprises determining if a multimedia session is already established with a caller. If a multimedia session is already established with the caller, updated location information of the caller is obtained via an existing session initiation protocol (SIP) session.

BRIEF DESCRIPTION OF THE DRAWINGS

Features and advantages of the present invention will become apparent to those skilled in the art from the following description with reference to the drawings, in which:

FIG. 1 illustrates a high level message flow where User Plane Location Service uses SIP based signaling as the transport, in accordance with the principles of the present invention.

FIG. 2 illustrates a variance of the User Plane Location Service procedure where a location server acts as a watcher of the location service and initiates a location retrieval procedure only when the target device is on-line, in accordance with the principles of the present invention.

FIG. 3 illustrates another use case where the solution of User Plane Location Service over SIP is used to retrieve the updated location of a VoIP emergency caller, in accordance with the principles of the present invention.

FIG. 4 shows a conventional LoCation Services (LCS) request.

FIG. 5 shows typical OMA mobile terminated call flow for a SUPL location request initiated by a SUPL agent.

DETAILED DESCRIPTION OF ILLUSTRATIVE EMBODIMENTS

The present invention introduces a method and a mechanism that allows a location server to initiate the user plane location service procedure to a user plane enabled device via Instant Messaging, or alternatively, via an existing SIP session if a multimedia session is already established.

Session Initiation Protocol (SIP) is an Internet Engineering Task Force (IETF) standard protocol for initiating an interactive user session that involves multimedia elements such as video, voice, chat, gaming, virtual reality, etc. SIP is specified in IETF Request for Comments (RFC) 3261 (replacing 2543). Like HTTP or SMTP, SIP works in the application layer of the open systems interconnection (OSI) communications model. SIP can also be used to invite participants to sessions that do not necessarily involve the initiator. Because SIP supports name mapping and redirection services, it makes it possible for users to initiate and receive communications and services from any location, and for networks to identify the users wherever they are. SIP is a request-response protocol dealing with requests from clients and responses from servers. Participants are identified by SIP universal resource identifiers (URIs). Requests can be sent through any transport protocol, such as UDP, SCTP, or TCP. SIP determines the end system to be used for the session, the communication media and media partners, and the called party's desire to engage in the communication. Once these are assured, SIP establishes call parameters at either end of the communication, and handles call transfer and termination.

FIG. 1 illustrates a high level message flow where User Plane Location Service uses SIP based signaling as the transport, in accordance with the principles of the present invention.

In particular, as shown in FIG. 1, the general service description is described as follows:

In step 1 of FIG. 1, a location service enabled device 200 has successfully granted Internet access from an Internet Service Access Provider 202, via either fixed lined access (e.g., dial-up, DSL, cable or LAN) or wireless access using one of the following (but not limited): Wireless LAN (WLAN) that is built based on IEEE 802.11x; Wireless personal area network (WPAN) that is built based on IEEE 802.15 (also referred to as BLUETOOTH™); Worldwide Interoperability for Microwave Access (WiMAX) or Wireless metropolitan area network (WMAN), which is built based on IEEE 802.16; Third generation (3G) packet data access technologies based on UMTS or 1xEVDO, or the enhanced technologies, e.g. High Speed Downlink Packet Access (HSDPA); packet data access over satellite; or High speed packet data access over speed point-to-point optical link, e.g. built based on IEEE 802.17.

The location service enabled device 200 then initiates the necessary registration of presence service per RFC2778, 2779, 3921, and 3856. Upon registration to the presence service, the device contact information including networking information (e.g. IP address) etc. is stored in a presence server 204.

In step 2, a request for location information of the location service enabled device 200 is generated by a location service provider 206. The location request may be generated by an application in the network that uses the location information, e.g., a weather report based on location; or by an application that resides in the end user terminal.

In step 3, the corresponding location service client 208 sends a location request to a location server 210 for the target device 200 specified by one of the following identifiers, together with other criteria: MSISDN; IMSI; MSN; MIN; IP address; SIP URI; TEL URI; or XMPP URI.

In step 4, upon receiving the location request, the location server 210 examines the identifier(s) of the target device 200 and determines that the target device 200 is not in a conventional mobile network (e.g., packet data enabled cellular network). The location Server may perform an address resolution procedure as specified in RFC 3861 to determine the appropriate address for instant messaging. The location server 210 then initiates an Instant Message (RFC 3428 or RFC 3921) containing the information needed to trigger the user plane location service procedure to the presence/Instant Message server 204. The location server 210 may retrieve the SIP URI, XMPP URI or TEL URI of the target device 200 based on the received identifier other than SIP URI, XMPP URI or TEL URI from other network entities, e.g., HLR/HSS in the cellular networks.

In step 5, based on the registration information, the presence/instant Message server 204 forwards the Instant Message to the target device 200 via SIP. In the disclosed embodiments, the Instant Message can be sent over the existing SIP session if there is an existing SIP session established between the target device 200 and the presence/ nstant Message server 204.

In step 6, upon receipt of the Instant Message containing information necessary for trigging the User Plane Location Service procedure, the target device 200 initiates a User Plane Location Service session with the location server 210. The User Plane Location Service signaling can either use standard TCP/IP or UDP/IP, or use standard SIP signaling as the transport. Using SIP signaling as the transport has some advantage when there are security entities (e.g. firewalls) involved in the networks, where direct IP connectivity with certain ports is not accessible. Upon completion of the User Plane Location Service procedure, the location server 210 retrieves a location fix of the target device 200.

In step 7, the location server 210 returns the retrieved location fix to the location service client 208.

In step 8, the location service client 208 sends the location information back to the location service application.

FIG. 2 illustrates a variance of the User Plane Location Service procedure where a location server 210 acts as a watcher of the Presence Service 204 and initiates a location retrieval procedure only when the target device 200 is on-line, in accordance with the principles of the present invention.

The procedure shown and described with respect to FIG. 2 may be implemented as the primary procedure for a User Plane Location Service. Alternatively, it can be implemented as a fallback procedure to the call flow shown and described with respect to FIG. 1.

The general service description shown in FIG. 2 is described as follows:

In step 1, a request for location information of the location service enabled device 200 is generated by a location service provider 206. The location request may be generated by an application in the network that uses the location information, e.g., a weather report based on location; or by an application that resides in the end user terminal.

In step 2, the corresponding location service client 208 sends a location request to a location server 210 for the target device 200 specified by one of the following identifiers, together with other criteria: MSISDN; IMSI; MSN; MIN; IP address; SIP URI; TEL URI; or XMPP URI.

In step 3, upon receipt of the location request message, the location server 210 examines the identifier(s) of the target device 200 and determines that the target device 200 is not being served by a conventional mobile network (e.g., packet data enabled cellular network). The location Server may perform an address resolution procedure as specified in RFC 3861 to determine the appropriate address for instant messaging and presence service. The location server 210 then initiates a request (RFC 3856 or 3921) to the presence/instant Message server 204, to obtain presence related information of the target device 200. Alternatively the location server 210 may try a conventional mobile network path using the existing WAP Push/SMS mechanism and the inventive mechanisms disclosed herein either in parallel or in an order. This may occur, for example, when the target device supports multiple access technologies and networks.

In step 4, the target device 200 becomes available and sends a status update to the presence/Instant Message server 204.

In step 5, the presence/Instant Message server 204 sends a notification (RFC 3856 or 3921) containing the contact information for the target device 200. The contact information may include, e.g., an IP address of the target device 200.

In step 6, optionally, the location server 210 initiates an Instant Message (RFC 3428 or RFC 3921) containing the information needed to trigger the user plane location service procedure to the presence/Instant Message server 204.

In step 7, based on the registration information, the presence/Instant Message server 204 forwards the Instant Message to the target device 200 via SIP. In the disclosed embodiments, the Instant Message can be sent over the existing SIP session if there is an existing SIP session established between the target device 200 and the presence/Instant Message server 204.

In step 8, upon receipt of the Instant Message containing information necessary for trigging the User Plane Location Service procedure, the target device 200 initiates a User Plane Location Service session with the location server 210. The User Plane Location Service signaling can either use standard TCP/IP or UDP/IP, or use standard SIP signaling as the transport. Using SIP signaling as the transport has some advantage when there are security entities (e.g. firewalls) involved in the networks, where direct IP connectivity with certain ports is not accessible. Upon completion of the User Plane Location Service procedure, the location server 210 retrieves a location fix of the target device 200.

In step 9, the location server 210 returns the retrieved location fix to the location service client 208.

In step 10, the location service client 208 sends the location information back to the location service application.

FIG. 3 illustrates another use case where a User Plane Location Service over SIP is used to retrieve updated location information regarding a voice over Internet protocol (VoIP) emergency caller, in accordance with the principles of the present invention.

The general service description shown in FIG. 3 is described as follows:

In step 1 of FIG. 3, a VoIP based emergency call is initiated from a VoIP terminal 300, via either fixed line access (e.g., dial-up, digital subscriber loop (DSL), cable or local area network (LAN)), or wireless access using one of the following (but not limited): Wireless LAN (WLAN) that is built based on IEEE 802.11x; Wireless personal area network (WPAN) that is built based on IEEE 802.15 (also referred to as BLUETOOTH™); Worldwide Interoperability for Microwave Access (WiMAX) or Wireless metropolitan area network (WMAN), which is built based on IEEE 802.16; Third generation (3G) packet data access technologies based on UMTS or 1xEVDO, or the enhanced technologies, e.g. High Speed Downlink Packet Access (HSDPA); packet data access over satellite; or High speed packet data access over speed point-to-point optical link, e.g. built based on IEEE 802.17.

The VoIP emergency call is established with an appropriate Public Safety Answering Point (PSAP) 310 through the public switched telephone network (PSTN) 320, selective router network 330, or direct session Internet Protocol (SIP) based network from the emergency 911 call server 304.

In step 2, during the VoIP emergency call, the PSAP 310 requests an updated location of the VoIP emergency caller 300.

In step 3, if the location server 306 is in the SIP call signaling path, it initiates a trigger message using the User Plane Location Service embedded in a SIP INFO message to the E911 call server 304.

In step 4, the SIP INFO message is forwarded to the VoIP emergency caller 300.

In step 5, upon receipt of the trigger message using a User Plane Location Service, the VoIP terminal 300 from which the VoIP emergency call was initiated starts a User Plane Location Service procedure with the location server 306.

In step 6, the location server 306 returns retrieved location information to the PSAP 310.

While the invention has been described with reference to the exemplary embodiments thereof, those skilled in the art will be able to make various modifications to the described embodiments of the invention without departing from the true spirit and scope of the invention. 

1. A method for obtaining a location of a subscriber, comprising: initiating a user plane location service procedure; and if a session initiation protocol (SIP) session already exists, signaling a location request to a user plane enabled subscriber device via session initiation protocol (SIP).
 2. A method for obtaining a location of a subscriber, comprising: initiating a user plane location service procedure via XMPP protocol.
 3. The method for obtaining a location of a subscriber according to claim 1, wherein: said location request is signaled to said user plane enabled subscriber device via a SIP INFO message.
 4. The method for obtaining a location of a subscriber according to claim 1, wherein: said location request uses SIP messaging as a transport message of said user plane location service procedure to overcome an issue otherwise introduced by network security.
 5. The method for obtaining a location of a subscriber according to claim 4, wherein: said issue otherwise introduced by network security is a firewall.
 6. The method for obtaining a location of a caller according to claim 1, wherein: a call relating to said caller is an emergency call.
 7. The method for obtaining a location of a subscriber according to claim 1, wherein said initiating comprises: sending an Instant Message to said user plane enabled subscriber device.
 8. The method for obtaining a location of a subscriber according to claim 1, wherein: said user plane enabled caller device is a voice over Internet Protocol (VoIP) phone.
 9. The method for obtaining a location of a subscriber according to claim 8, wherein: said VoIP phone is a wireless VoIP phone.
 10. The method for obtaining a location of a subscriber according to claim 1, wherein: said user plane location service procedure complies with a secure user plane for location (SUPL) standard defined by Open Mobile Alliance (OMA).
 11. Apparatus for obtaining a location of a subscriber, comprising: means for initiating a user plane location service procedure; and means for signaling a location request, if a session initiation protocol (SIP) session already exists, to a user plane enabled subscriber device via session initiation protocol (SIP).
 12. The apparatus for obtaining a location of a subscriber according to claim 11, wherein: said means for signaling said location request signals to said user plane enabled subscriber device via a SIP INFO message.
 13. The apparatus for obtaining a location of a subscriber according to claim 11, wherein: said means for signaling said location request uses SIP messaging as a transport message of said user plane location service procedure to overcome an issue otherwise introduced by network security.
 14. The apparatus for obtaining a location of a subscriber according to claim 13, wherein: said issue otherwise introduced by network security is a firewall.
 15. The apparatus for obtaining a location of a caller according to claim 11, wherein: a call relating to said caller is an emergency call.
 16. The apparatus for obtaining a location of a subscriber according to claim 11, wherein said means for initiating comprises: means for sending an Instant Message to said user plane enabled subscriber device.
 17. The apparatus for obtaining a location of a subscriber according to claim 11, wherein: said user plane enabled caller device is a voice over Internet Protocol (VoIP) phone.
 18. The apparatus for obtaining a location of a subscriber according to claim 17, wherein: said VoIP phone is a wireless VoIP phone.
 19. The apparatus for obtaining a location of a subscriber according to claim 11, wherein: said user plane location service procedure complies with a secure user plane for location (SUPL) standard defined by Open Mobile Alliance (OMA).
 20. A method for obtaining a location of a subscriber, comprising: determining if a multimedia session is already established with a subscriber; and obtaining updated location information of said subscriber via an existing session initiation protocol (SIP) session if a multimedia session is already established with said subscriber.
 21. Apparatus for obtaining a location of a subscriber, comprising: means for determining if a multimedia session is already established with a subscriber; and means for obtaining updated location information of said subscriber via an existing session initiation protocol (SIP) session if a multimedia session is already established with said subscriber.
 22. A method for determining whether a target device is in a conventional mobile network, comprising: examining an identifier of a target device.
 23. A method for seamlessly interworking with a mobile network and a wireless IP network, comprising: initiating a WAP Push/SMS message; and initiating a presence service/Instant Message.
 24. The method for seamlessly interworking with a mobile network and said wireless IP network according to claim 23, wherein: said WAP Push/SMS message and said presence service/Instant Message are performed in parallel.
 25. The method for seamlessly interworking with a mobile network and said wireless IP network according to claim 23, wherein: said WAP Push/SMS message and said presence service/Instant Message are performed one after the other. 